<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller {

	// 用户的列表页（通过model类将所有的用户查询出来，然后分配到模板页，进行遍历输出）
    public function index(){
    	// 1.实例化Model类
    	$user = M('user');

        /*
            如果用户输入了搜索条件，才获取搜索条件
            没有输入条件，则获取所有的数据
        */
        // dump(I('get.'));
        // 先判断用户名是否传值
        $wherelist = [];
        if (!empty($_GET['username'])) {
            // 模糊匹配
            $wherelist['username'] = ['LIKE', "%{$_GET['username']}%"];
        }

        // 判断年龄
        if (!empty($_GET['age'])) {
            $wherelist['age'] = $_GET['age'];
        }

    	// 2.分页代码
    		// 2.0 查询数据总条数
    		$count = $user->where($wherelist)->count();

    		// 2.1 实例化分页类
    		$page = new \Think\Page($count, 5);

    		// 2.2 分配分页代码数据
    		$this->assign('show', $page->show());

    	// 3.查询数据
    	$data = $user->limit($page->firstRow, $page->listRows)->where($wherelist)->select();
    	// dump($data);
        echo $user->_sql();

    	// 4.将数据分配到模板页
    	$this->assign('data', $data);

        $this->assign('age', 30);

    	// 5.编译并输出模板页
    	$this->display();
    }

    // 用户的添加页面
    public function add()
    {
    	$this->display();
    }

    // 执行用户信息的添加操作
    public function insert()
    {
    	// dump($_POST);
    	// 1.实例化Model类
    	$user = M('user');

    	// 2.执行添加操作
    	$res = $user->add($_POST);
        echo $user->_sql();
    	// dump($res);

    	// 3.判断
    	if ($res) {
    		// $this->success('添加用户信息成功', U('User/index'), 3);
    		echo 'ok';
    	} else {
    		// $this->error('添加用户信息失败');
    		echo 'no';
    	}

        exit;
    }

    // 输出修改的页面
    public function edit()
    {
    	// 1.实例化Model类
    	$user = M('user');

    	// 2.接收id并查询数据
    	$id = intval($_GET['id']);
    	$data = $user->find($id);
    	// dump($data);

    	// 3.分配变量
    	$this->assign('data', $data);

    	// 4.编译模板并输出
    	$this->display();
    }

    // 执行修改的操作
    public function update()
    {
    	// 1.实例化Model类
    	$user = M('user');

    	// 数据：$_POST
    	// 2.执行修改操作
    	$res = $user->save($_POST);
    	// dump($res);

    	// 3.判断
    	if ($res) {
    		// 成功
    		$this->success('修改成功', U('User/index'), 3);
    	} else {
    		// 失败
    		$this->error('修改失败');
    	}
    }

    // 执行删除操作
    public function delete()
    {
    	// 1.实例化model类
    	$user = M('user');

    	// 2.删除数据
    	$id = intval($_GET['id']);
    	$res = $user->delete($id);

    	// 3.判断
    	if ($res) {
    		$this->success('删除成功', U('User/index'));
    		// echo 'ok';
    	} else {
    		$this->error('删除失败');
    		// echo 'no';
    	}
    }

}
